<!doctype html>
<html lang="ru" data-bs-theme="dark">

<head>
    <!-- 2024-05-11 03:24:55 -->
        <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
    <title>Git - gitformat commit-graph</title>
        <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap/5.3.3/css/bootstrap.min.css" integrity="sha512-jnSuA4Ss2PkkikSOLtYs8BlYIeeIK1h99ty4YfvRPAlzr377vr3CXDb7sb7eEEBYjDtcYj+AjBH3FLv5uSJuXg==" crossorigin="anonymous" referrerpolicy="no-referrer" />
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-icons/1.11.3/font/bootstrap-icons.min.css" integrity="sha512-dPXYcDub/aeb08c63jRq/k6GaKccl256JQy/AnOq7CAnEZ9FzSL9wSbcZkMp4R26vBsMLFYH4kQ67/bbV8XaCQ==" crossorigin="anonymous" referrerpolicy="no-referrer" />
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/styles/github-dark.min.css" integrity="sha512-rO+olRTkcf304DQBxSWxln8JXCzTHlKnIdnMUwYvQa9/Jd4cQaNkItIUj6Z4nvW1dqK0SKXLbn9h4KwZTNtAyw==" crossorigin="anonymous" referrerpolicy="no-referrer" />
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/7.1.0/css/flag-icons.min.css" integrity="sha512-bZBu2H0+FGFz/stDN/L0k8J0G8qVsAL0ht1qg5kTwtAheiXwiRKyCq1frwfbSFSJN3jooR5kauE0YjtPzhZtJQ==" crossorigin="anonymous" referrerpolicy="no-referrer" />
    <link href="../../../runebook.css" rel="stylesheet" type="text/css">
    <meta name="x-github" content="https://github.com/runebookdev/runebook">
            <meta name="x-i18n-doc" content="git">
        <script>
        function i18n(element) {
            // NOP
        }
    </script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/js-cookie/3.0.5/js.cookie.js" integrity="sha512-F/dia2jKME12jwqiYDayeD+Rr/8jTWUD2wfbuJB0bzSwenSEnXsn4qQ/wVyXUCix5bmCAj8xJdtFr2OqUtjLAw==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.7.1/jquery.min.js" integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnwR+8ZaIJVT8EE2iyI61OV8e6M8PP2/4hpQINQ/g==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap/5.3.3/js/bootstrap.bundle.min.js" integrity="sha512-7Pi/otdlbbCR+LnW+F7PwFcSDJOuUJB3OxtEHbg4vSMvzvJjde4Po1v4BR9Gdc9aXNUNFVUY+SK51wWT8WF0Gg==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/rxjs/7.8.1/rxjs.umd.min.js" integrity="sha512-D9LDs8YUUVa4V9Gl4Zb+xqRAc7RCzooR3+zzebgK2RMu/KU+dh90pbjEEMzPiSyRSGbSp9j1pZnrO4joGa5WEg==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/mark.js/8.11.1/jquery.mark.min.js" integrity="sha512-mhbv5DqBMgrWL+32MmsDOt/OAvqr/cHimk6B8y/bx/xS88MVkYGPiVv2ixKVrkywF2qHplNRUvFsAHUdxZ3Krg==" crossorigin="anonymous"></script>
    <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-6424571640879890" crossorigin="anonymous"></script>    <script async src="https://www.googletagmanager.com/gtag/js?id=G-3G5BZ1QEDP"></script>
<script>
    window.dataLayer = window.dataLayer || [];

    function gtag() {
        dataLayer.push(arguments);
    }

    gtag('js', new Date());
    gtag('config', 'G-3G5BZ1QEDP');
</script>    <script>
(function(c, l, a, r, i, t, y) {
    c[a] = c[a] || function() {
        (c[a].q = c[a].q || []).push(arguments)
    };
    t = l.createElement(r);
    t.async = 1;
    t.src = "https://www.clarity.ms/tag/" + i + "?ref=bwt";
    y = l.getElementsByTagName(r)[0];
    y.parentNode.insertBefore(t, y);
})(window, document, "clarity", "script", "jto2hd94r9");
</script>    <script src="../../../theme.js"></script>
</head>

<body>
    <header class="bg-black">
        <div class="container">
            <div class="row">
                <div class="col">
                    <nav class="navbar navbar-expand-lg navbar-dark">
                        <a class="navbar-brand fw-bold" href="https://runebook.dev/ru">
                            <img alt="Runebook.dev" class="d-inline-block align-top mr-1" src="../../../assets/runebook_logo.webp" width="24" height="24">
                            Runebook.dev
                        </a>
                        <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
                            <span class="navbar-toggler-icon"></span>
                        </button>
                        <div class="collapse navbar-collapse" id="navbarSupportedContent">
                            <ul class="navbar-nav me-auto mb-2 mb-lg-0">
                                <li class="nav-item">
                                    <a class="nav-link" href="https://runebook.dev/ru#docs">Documentation</a>
                                </li>
                                <li class="nav-item">
                                    <a class="nav-link" href="https://runebook.dev/contributors">Contributors</a>
                                </li>
                                <li class="nav-item">
                                    <a class="nav-link" href="https://github.com/runebookdev/runebook/issues">GitHub</a>
                                </li>
                            </ul>
                                                                                                <button class="btn btn-success ms-2" id="showPopupButton">
                                        <i class="bi bi-translate"></i>
                                        Show English
                                    </button>
                                                                                        <div class="form-check form-switch ms-3">
                                <label class="text-light">
                                    <input class="form-check-input" type="checkbox" role="switch" id="theme-switch" checked>
                                    <i class="bi bi-moon-stars-fill"></i>
                                </label>
                            </div>
                        </div>
                    </nav>
                </div>
            </div>
        </div>
    </header>

    <!--sse-->
    <div class="container">
    <div class="row">
        <div class="col">
            <nav aria-label="breadcrumb" class="mt-2">
                <ol class="breadcrumb mb-1">
                    <li class="breadcrumb-item">
                        <a href="https://runebook.dev/ru#docs">
                            <span class="fi fi-ru"></span>                            Русский                        </a>
                    </li>
                    <li class="breadcrumb-item">
                        <a href="-index-.html">
                            Git                            2.43                        </a>
                    </li>
                                            <li class="breadcrumb-item">
                            <a href="-index-.html#Miscellaneous">
                                Miscellaneous                            </a>
                        </li>
                                    </ol>
            </nav>
        </div>
    </div>
    <br>

    <div class="row">
        <div class="col-md-9">
            <main>
                <article>

                    
                    <h1 class="text-body-emphasis" ><span data-i18n="5fa11aa7f989efcabe076595590cd23d381b683e7b39d25f88c2746a6246ea40/15" data-source="gitformat-commit-graph" onmousemove="i18n(this)">gitformat-commit-graph</span></h1> <h2 class="text-body-emphasis"  id="_name"><span data-i18n="dcd1d5223f73b3a965c07e3ff5dbee3eedcfedb806686a05b9b3868a2c3d6d50/3a" data-source="Name" onmousemove="i18n(this)">Name</span></h2> <div> <p><span data-i18n="6823d13ad65312e81de63ae70f5450da1cf21456b273b2b69c62c36193d89dc8/fa" data-source="gitformat-commit-graph - Git commit-graph format" onmousemove="i18n(this)">gitformat-commit-graph &mdash; &fcy;&ocy;&rcy;&mcy;&acy;&tcy; &gcy;&rcy;&acy;&fcy;&icy;&kcy;&acy; &fcy;&icy;&kcy;&scy;&acy;&tscy;&icy;&icy;  Git</span></p> </div> <h2 class="text-body-emphasis"  id="_synopsis"><span data-i18n="8eb3755381519d7f0479d75446e56e20084834c0460d7ec94926932372ea6c47/0d" data-source="Synopsis" onmousemove="i18n(this)">Synopsis</span></h2> <div> <div> <pre class="hljs language-bash"><span class="hljs-variable">$GIT_DIR</span>/objects/info/commit-graph
<span class="hljs-variable">$GIT_DIR</span>/objects/info/commit-graphs/*</pre> </div> </div> <h2 class="text-body-emphasis"  id="_description"><span data-i18n="526e0087cc3f254d9f86f6c7d8e23d954c4dfda2b312efc29194ae8a860106ba/d3" data-source="Description" onmousemove="i18n(this)">Description</span></h2> <div> <p><span data-i18n="c47d98c182c49f12729b06bb3adc73b40d39c591cadf0ad509b17a5bfa795f3a/bc" data-source="The Git commit-graph stores a list of commit OIDs and some associated metadata, including:" onmousemove="i18n(this)">&Gcy;&rcy;&acy;&fcy; &fcy;&icy;&kcy;&scy;&acy;&tscy;&icy;&icy;  Git  &khcy;&rcy;&acy;&ncy;&icy;&tcy; &scy;&pcy;&icy;&scy;&ocy;&kcy; OID &fcy;&icy;&kcy;&scy;&acy;&tscy;&icy;&icy; &icy; &ncy;&iecy;&kcy;&ocy;&tcy;&ocy;&rcy;&ycy;&iecy; &scy;&vcy;&yacy;&zcy;&acy;&ncy;&ncy;&ycy;&iecy; &mcy;&iecy;&tcy;&acy;&dcy;&acy;&ncy;&ncy;&ycy;&iecy;, &vcy; &tcy;&ocy;&mcy; &chcy;&icy;&scy;&lcy;&iecy;:</span></p> <div> <ul> <li> <p><span data-i18n="bafbdd3f2173870b73153a32193b3456c7bc638354fecd19a822d403f58d1b8b/e0" data-source="The generation number of the commit." onmousemove="i18n(this)">&Ncy;&ocy;&mcy;&iecy;&rcy; &pcy;&ocy;&kcy;&ocy;&lcy;&iecy;&ncy;&icy;&yacy; &fcy;&icy;&kcy;&scy;&acy;&tscy;&icy;&icy;.</span></p> </li> <li> <p><span data-i18n="6560303981af6dbaf1b03a5236bcfecf6e8249c5c8cd2c58068b3181efabcc06/6c" data-source="The root tree OID." onmousemove="i18n(this)">OID &kcy;&ocy;&rcy;&ncy;&iecy;&vcy;&ocy;&gcy;&ocy; &dcy;&iecy;&rcy;&iecy;&vcy;&acy;.</span></p> </li> <li> <p><span data-i18n="a7845f104ea7ef3335895b7c762093214d03ec67dfa04ecdc08c59b728e27788/22" data-source="The commit date." onmousemove="i18n(this)">&Dcy;&acy;&tcy;&acy; &fcy;&icy;&kcy;&scy;&acy;&tscy;&icy;&icy;.</span></p> </li> <li> <p><span data-i18n="f44503747b37e226e249cc2f34974d11be6b214ee54ec8b712f060d010dd3604/bc" data-source="The parents of the commit, stored using positional references within the graph file." onmousemove="i18n(this)">&Rcy;&ocy;&dcy;&icy;&tcy;&iecy;&lcy;&icy; &kcy;&ocy;&mcy;&mcy;&icy;&tcy;&acy;, &khcy;&rcy;&acy;&ncy;&yacy;&shchcy;&icy;&iecy;&scy;&yacy; &scy; &icy;&scy;&pcy;&ocy;&lcy;&softcy;&zcy;&ocy;&vcy;&acy;&ncy;&icy;&iecy;&mcy; &pcy;&ocy;&zcy;&icy;&tscy;&icy;&ocy;&ncy;&ncy;&ycy;&khcy; &scy;&scy;&ycy;&lcy;&ocy;&kcy; &vcy; &fcy;&acy;&jcy;&lcy;&iecy; &gcy;&rcy;&acy;&fcy;&acy;.</span></p> </li> <li> <p><span data-i18n="34937bf0af8b00f42ebdbfdc8656d6aec447a46477422e51db8b9b7c2756fc75/37" data-source="The Bloom filter of the commit carrying the paths that were changed between the commit and its first parent, if requested." onmousemove="i18n(this)">&Fcy;&icy;&lcy;&softcy;&tcy;&rcy; &Bcy;&lcy;&ucy;&mcy;&acy; &kcy;&ocy;&mcy;&mcy;&icy;&tcy;&acy;, &scy;&ocy;&dcy;&iecy;&rcy;&zhcy;&acy;&shchcy;&icy;&jcy; &pcy;&ucy;&tcy;&icy;, &kcy;&ocy;&tcy;&ocy;&rcy;&ycy;&iecy; &bcy;&ycy;&lcy;&icy; &icy;&zcy;&mcy;&iecy;&ncy;&iecy;&ncy;&ycy; &mcy;&iecy;&zhcy;&dcy;&ucy; &kcy;&ocy;&mcy;&mcy;&icy;&tcy;&ocy;&mcy; &icy; &iecy;&gcy;&ocy; &pcy;&iecy;&rcy;&vcy;&ycy;&mcy; &rcy;&ocy;&dcy;&icy;&tcy;&iecy;&lcy;&iecy;&mcy;, &iecy;&scy;&lcy;&icy; &ecy;&tcy;&ocy; &ncy;&iecy;&ocy;&bcy;&khcy;&ocy;&dcy;&icy;&mcy;&ocy;.</span></p> </li> </ul> </div> <p><span data-i18n="b5b3b165a736a0d33868fc8aa41f67f3ada1007a704265a2b10880fb17adc5c6/1a" data-source="These positional references are stored as unsigned 32-bit integers corresponding to the array position within the list of commit OIDs. Due to some special constants we use to track parents, we can store at most (1 &amp;lt;&amp;lt; 30) + (1 &amp;lt;&amp;lt; 29) + (1 &amp;lt;&amp;lt; 28) - 1 (around 1.8 billion) commits." onmousemove="i18n(this)">&Ecy;&tcy;&icy; &pcy;&ocy;&zcy;&icy;&tscy;&icy;&ocy;&ncy;&ncy;&ycy;&iecy; &scy;&scy;&ycy;&lcy;&kcy;&icy; &khcy;&rcy;&acy;&ncy;&yacy;&tcy;&scy;&yacy; &vcy; &vcy;&icy;&dcy;&iecy; 32-&bcy;&icy;&tcy;&ncy;&ycy;&khcy; &tscy;&iecy;&lcy;&ycy;&khcy; &chcy;&icy;&scy;&iecy;&lcy; &bcy;&iecy;&zcy; &zcy;&ncy;&acy;&kcy;&acy;, &scy;&ocy;&ocy;&tcy;&vcy;&iecy;&tcy;&scy;&tcy;&vcy;&ucy;&yucy;&shchcy;&icy;&khcy; &pcy;&ocy;&zcy;&icy;&tscy;&icy;&icy; &mcy;&acy;&scy;&scy;&icy;&vcy;&acy; &vcy; &scy;&pcy;&icy;&scy;&kcy;&iecy; &icy;&dcy;&iecy;&ncy;&tcy;&icy;&fcy;&icy;&kcy;&acy;&tcy;&ocy;&rcy;&ocy;&vcy; OID &fcy;&icy;&kcy;&scy;&acy;&tscy;&icy;&icy;. &Bcy;&lcy;&acy;&gcy;&ocy;&dcy;&acy;&rcy;&yacy; &ncy;&iecy;&kcy;&ocy;&tcy;&ocy;&rcy;&ycy;&mcy; &scy;&pcy;&iecy;&tscy;&icy;&acy;&lcy;&softcy;&ncy;&ycy;&mcy; &kcy;&ocy;&ncy;&scy;&tcy;&acy;&ncy;&tcy;&acy;&mcy;, &kcy;&ocy;&tcy;&ocy;&rcy;&ycy;&iecy; &mcy;&ycy; &icy;&scy;&pcy;&ocy;&lcy;&softcy;&zcy;&ucy;&iecy;&mcy; &dcy;&lcy;&yacy; &ocy;&tcy;&scy;&lcy;&iecy;&zhcy;&icy;&vcy;&acy;&ncy;&icy;&yacy; &rcy;&ocy;&dcy;&icy;&tcy;&iecy;&lcy;&iecy;&jcy;, &mcy;&ycy; &mcy;&ocy;&zhcy;&iecy;&mcy; &khcy;&rcy;&acy;&ncy;&icy;&tcy;&softcy; &ncy;&iecy; &bcy;&ocy;&lcy;&iecy;&iecy; (1 &lt;&lt; 30) + (1 &lt;&lt; 29) + (1 &lt;&lt; 28) - 1 (&ocy;&kcy;&ocy;&lcy;&ocy; 1,8 &mcy;&icy;&lcy;&lcy;&icy;&acy;&rcy;&dcy;&acy;) &kcy;&ocy;&mcy;&mcy;&icy;&tcy;&ocy;&vcy;.</span></p> </div> <h2 class="text-body-emphasis"  id="_commit_graph_files_have_the_following_format"><span data-i18n="212a4bdecf3965a308ac6b18932fbb439a6f2cedf55276874678ae3b3f48dd3d/ec" data-source="Commit-graph files have the following format:" onmousemove="i18n(this)">&Fcy;&acy;&jcy;&lcy;&ycy; &gcy;&rcy;&acy;&fcy;&ocy;&vcy; &fcy;&icy;&kcy;&scy;&acy;&tscy;&icy;&icy; &icy;&mcy;&iecy;&yucy;&tcy; &scy;&lcy;&iecy;&dcy;&ucy;&yucy;&shchcy;&icy;&jcy; &fcy;&ocy;&rcy;&mcy;&acy;&tcy;:</span></h2> <div> <p><span data-i18n="f0b7d5f1c282dff2906c5d216aa323198cf9f2ddfa59920682281dcd5aad7bbf/fd" data-source="In order to allow extensions that add extra data to the graph, we organize the body into &amp;quot;chunks&amp;quot; and provide a binary lookup table at the beginning of the body. The header includes certain values, such as number of chunks and hash type." onmousemove="i18n(this)">&CHcy;&tcy;&ocy;&bcy;&ycy; &rcy;&acy;&zcy;&rcy;&iecy;&shcy;&icy;&tcy;&softcy; &rcy;&acy;&scy;&shcy;&icy;&rcy;&iecy;&ncy;&icy;&yacy;, &dcy;&ocy;&bcy;&acy;&vcy;&lcy;&yacy;&yucy;&shchcy;&icy;&iecy; &dcy;&ocy;&pcy;&ocy;&lcy;&ncy;&icy;&tcy;&iecy;&lcy;&softcy;&ncy;&ycy;&iecy; &dcy;&acy;&ncy;&ncy;&ycy;&iecy; &vcy; &gcy;&rcy;&acy;&fcy;&icy;&kcy;, &mcy;&ycy; &ocy;&rcy;&gcy;&acy;&ncy;&icy;&zcy;&ucy;&iecy;&mcy; &tcy;&iecy;&lcy;&ocy; &vcy;  &quot;chunks&quot;  &icy; &pcy;&rcy;&iecy;&dcy;&ocy;&scy;&tcy;&acy;&vcy;&lcy;&yacy;&iecy;&mcy; &dcy;&vcy;&ocy;&icy;&chcy;&ncy;&ucy;&yucy; &tcy;&acy;&bcy;&lcy;&icy;&tscy;&ucy; &pcy;&ocy;&icy;&scy;&kcy;&acy; &vcy; &ncy;&acy;&chcy;&acy;&lcy;&iecy; &tcy;&iecy;&lcy;&acy;. &Zcy;&acy;&gcy;&ocy;&lcy;&ocy;&vcy;&ocy;&kcy; &vcy;&kcy;&lcy;&yucy;&chcy;&acy;&iecy;&tcy; &vcy; &scy;&iecy;&bcy;&yacy; &ocy;&pcy;&rcy;&iecy;&dcy;&iecy;&lcy;&iecy;&ncy;&ncy;&ycy;&iecy; &zcy;&ncy;&acy;&chcy;&iecy;&ncy;&icy;&yacy;, &tcy;&acy;&kcy;&icy;&iecy; &kcy;&acy;&kcy; &kcy;&ocy;&lcy;&icy;&chcy;&iecy;&scy;&tcy;&vcy;&ocy; &fcy;&rcy;&acy;&gcy;&mcy;&iecy;&ncy;&tcy;&ocy;&vcy; &icy; &tcy;&icy;&pcy; &khcy;&iecy;&shcy;&acy;.</span></p> <p><span data-i18n="8473aabc83a980ab01e70cc976d0afdc8483b45f88e5b0eaa3143af62e59b9f9/d0" data-source="All multi-byte numbers are in network byte order." onmousemove="i18n(this)">&Vcy;&scy;&iecy; &mcy;&ncy;&ocy;&gcy;&ocy;&bcy;&acy;&jcy;&tcy;&ocy;&vcy;&ycy;&iecy; &chcy;&icy;&scy;&lcy;&acy; &rcy;&acy;&scy;&pcy;&ocy;&lcy;&acy;&gcy;&acy;&yucy;&tcy;&scy;&yacy; &vcy; &scy;&iecy;&tcy;&iecy;&vcy;&ocy;&mcy; &pcy;&ocy;&rcy;&yacy;&dcy;&kcy;&iecy; &bcy;&acy;&jcy;&tcy;&ocy;&vcy;.</span></p> <div> <h3 class="text-body-emphasis"  id="_header"><span data-i18n="20f94c3f2eb3f181713053a831e8a8245f74841d2223e380717a54c0f0f7b313/99" data-source="HEADER:" onmousemove="i18n(this)">HEADER:</span></h3> <div> <div> <pre class="hljs language-csharp"><span class="hljs-number">4</span>-<span class="hljs-built_in">byte</span> signature:
    The signature <span class="hljs-keyword">is</span>: {<span class="hljs-string">&apos;C&apos;</span>, <span class="hljs-string">&apos;G&apos;</span>, <span class="hljs-string">&apos;P&apos;</span>, <span class="hljs-string">&apos;H&apos;</span>}</pre> </div> </div> <div> <div> <pre class="hljs language-csharp"><span class="hljs-number">1</span>-<span class="hljs-built_in">byte</span> version number:
    Currently, the only valid version <span class="hljs-keyword">is</span> <span class="hljs-number">1.</span></pre> </div> </div> <div> <div> <pre class="hljs language-vbnet"> <span class="hljs-number">1</span>-<span class="hljs-type">byte</span> Hash Version
     We infer the hash length (H) <span class="hljs-keyword">from</span> this value:
<span class="hljs-number">1</span> =&gt; SHA-<span class="hljs-number">1</span>
<span class="hljs-number">2</span> =&gt; SHA-<span class="hljs-number">256</span>
     <span class="hljs-keyword">If</span> the hash type does <span class="hljs-built_in">not</span> match the repository<span class="hljs-comment" title="&apos;s hash algorithm, the">&khcy;&ecy;&shcy;-&acy;&lcy;&gcy;&ocy;&rcy;&icy;&tcy;&mcy;,</span>
     commit-graph file should be ignored <span class="hljs-keyword">with</span> a warning presented <span class="hljs-keyword">to</span> the
     user.</pre> </div> </div> <div> <div> <pre class="hljs language-java"><span class="hljs-number">1</span>-<span class="hljs-type">byte</span> <span class="hljs-title function_">number</span> <span class="hljs-params">(C)</span> of <span class="hljs-string">&quot;chunks&quot;</span></pre> </div> </div> <div> <div> <pre class="hljs language-csharp"><span class="hljs-number">1</span>-<span class="hljs-function"><span class="hljs-built_in">byte</span> <span class="hljs-title">number</span> (<span class="hljs-params">B</span>) of <span class="hljs-keyword">base</span> commit-graphs
    We infer the <span class="hljs-title">length</span> (<span class="hljs-params">H*B</span>) of the Base Graphs chunk
    <span class="hljs-keyword">from</span> <span class="hljs-keyword">this</span> <span class="hljs-keyword">value</span>.</span></pre> </div> </div> </div> <div> <h3 class="text-body-emphasis"  id="_chunk_lookup"><span data-i18n="da98fd876c7ec19b07cb59c26b44c0e7228d6338539e163b46f5eb45d36b940c/91" data-source="CHUNK LOOKUP:" onmousemove="i18n(this)">CHUNK LOOKUP:</span></h3> <div> <div> <pre class="hljs language-sql">(C <span class="hljs-operator">+</span> <span class="hljs-number">1</span>) <span class="hljs-operator">*</span> <span class="hljs-number">12</span> bytes listing the <span class="hljs-keyword">table</span> <span class="hljs-keyword">of</span> contents <span class="hljs-keyword">for</span> the chunks:
    <span class="hljs-keyword">First</span> <span class="hljs-number">4</span> bytes <span class="hljs-keyword">describe</span> the chunk id. <span class="hljs-keyword">Value</span> <span class="hljs-number">0</span> <span class="hljs-keyword">is</span> a terminating label.
    Other <span class="hljs-number">8</span> bytes provide the byte<span class="hljs-operator">-</span><span class="hljs-keyword">offset</span> <span class="hljs-keyword">in</span> <span class="hljs-keyword">current</span> file <span class="hljs-keyword">for</span> chunk <span class="hljs-keyword">to</span>
    start. (Chunks <span class="hljs-keyword">are</span> ordered contiguously <span class="hljs-keyword">in</span> the file, so you can infer
    the length <span class="hljs-keyword">using</span> the next chunk position if necessary.) <span class="hljs-keyword">Each</span> chunk
    ID appears <span class="hljs-keyword">at</span> most once.</pre> </div> </div> <div> <div> <pre class="hljs language-css">The CHUNK LOOKUP matches the <span class="hljs-selector-tag">table</span> of contents <span class="hljs-selector-tag">from</span>
the chunk-based file format, see gitformat-chunk<span class="hljs-selector-attr">[5]</span></pre> </div> </div> <div> <div> <pre class="hljs language-css">The remaining data in the <span class="hljs-selector-tag">body</span> is described one chunk at <span class="hljs-selector-tag">a</span> <span class="hljs-selector-tag">time</span>, and
these chunks may be given in any <span class="hljs-attribute">order</span>. Chunks are required unless
otherwise specified.</pre> </div> </div> </div> <div> <h3 class="text-body-emphasis"  id="_chunk_data"><span data-i18n="849541bd353a273311538435601e566c67207d2902a1a93e3e96cae1305a639b/e6" data-source="CHUNK DATA:" onmousemove="i18n(this)">CHUNK DATA:</span></h3> <div> <h4 class="text-body-emphasis"  id="_oid_fanout_id_o_i_d_f_256_4_bytes"><span data-i18n="34e9a9f8de9171f8b10fba3f6694cf8fdf2d7e0f07f7702d460244e4a0898696/c6" data-source="OID Fanout (ID: {&lt;em&gt;O&lt;/em&gt;, &lt;em&gt;I&lt;/em&gt;, &lt;em&gt;D&lt;/em&gt;, &lt;em&gt;F&lt;/em&gt;}) (256 * 4 bytes)" onmousemove="i18n(this)">OID Fanout (ID: {O, I, D, F}) (256 * 4 &bcy;&acy;&jcy;&tcy;&acy;)</span></h4> <div> <div> <pre class="hljs language-css">The ith entry, F<span class="hljs-selector-attr">[i]</span>, stores the number of OIDs with first
byte at most <span class="hljs-selector-tag">i</span>. Thus F<span class="hljs-selector-attr">[255]</span> stores the total
number of commits (N).</pre> </div> </div> </div> <div> <h4 class="text-body-emphasis"  id="_oid_lookup_id_o_i_d_l_n_h_bytes"><span data-i18n="6fa52059fa72872fed19f70e3b9c5ec6642eddff09b3146667d8b9021582658b/0c" data-source="OID Lookup (ID: {&lt;em&gt;O&lt;/em&gt;, &lt;em&gt;I&lt;/em&gt;, &lt;em&gt;D&lt;/em&gt;, &lt;em&gt;L&lt;/em&gt;}) (N * H bytes)" onmousemove="i18n(this)">&Pcy;&ocy;&icy;&scy;&kcy; OID (ID: {O, I, D, L}) (N * H &bcy;&acy;&jcy;&tcy;)</span></h4> <div> <div> <pre class="hljs language-css">The OIDs for <span class="hljs-attribute">all</span> commits in the graph, sorted in ascending <span class="hljs-attribute">order</span>.</pre> </div> </div> </div> <div> <h4 class="text-body-emphasis"  id="_commit_data_id_c_d_a_t_n_h_16_bytes"><span data-i18n="f8e1a9b73c229186a2c60e403b5edef03b949fe099af9ad39119556020dfd919/56" data-source="Commit Data (ID: {&lt;em&gt;C&lt;/em&gt;, &lt;em&gt;D&lt;/em&gt;, &lt;em&gt;A&lt;/em&gt;, &lt;em&gt;T&lt;/em&gt; }) (N * (H + 16) bytes)" onmousemove="i18n(this)">&Dcy;&acy;&ncy;&ncy;&ycy;&iecy; &fcy;&icy;&kcy;&scy;&acy;&tscy;&icy;&icy; (ID: {C, D, A, T }) (N * (H + 16) &bcy;&acy;&jcy;&tcy;)</span></h4> <div> <ul> <li> <p><span data-i18n="e221687798f2306a95dd4fde384c69fbda70168aab5af1a266c9c47fdcdaa6a2/0c" data-source="The first H bytes are for the OID of the root tree." onmousemove="i18n(this)">&Pcy;&iecy;&rcy;&vcy;&ycy;&iecy; H &bcy;&acy;&jcy;&tcy;&ocy;&vcy; &pcy;&rcy;&iecy;&dcy;&ncy;&acy;&zcy;&ncy;&acy;&chcy;&iecy;&ncy;&ycy; &dcy;&lcy;&yacy; OID &kcy;&ocy;&rcy;&ncy;&iecy;&vcy;&ocy;&gcy;&ocy; &dcy;&iecy;&rcy;&iecy;&vcy;&acy;.</span></p> </li> <li> <p><span data-i18n="58c6c9d4685ba6d92a67c35b2f667df2c30930940199808cda3315639ec15c56/0a" data-source="The next 8 bytes are for the positions of the first two parents of the ith commit. Stores value 0x70000000 if no parent in that position. If there are more than two parents, the second value has its most-significant bit on and the other bits store an array position into the Extra Edge List chunk." onmousemove="i18n(this)">&Scy;&lcy;&iecy;&dcy;&ucy;&yucy;&shchcy;&icy;&iecy; 8 &bcy;&acy;&jcy;&tcy;&ocy;&vcy; &pcy;&rcy;&iecy;&dcy;&ncy;&acy;&zcy;&ncy;&acy;&chcy;&iecy;&ncy;&ycy; &dcy;&lcy;&yacy; &pcy;&ocy;&zcy;&icy;&tscy;&icy;&jcy; &pcy;&iecy;&rcy;&vcy;&ycy;&khcy; &dcy;&vcy;&ucy;&khcy; &rcy;&ocy;&dcy;&icy;&tcy;&iecy;&lcy;&iecy;&jcy; i-&gcy;&ocy; &kcy;&ocy;&mcy;&mcy;&icy;&tcy;&acy;. &Scy;&ocy;&khcy;&rcy;&acy;&ncy;&yacy;&iecy;&tcy; &zcy;&ncy;&acy;&chcy;&iecy;&ncy;&icy;&iecy; 0x70000000, &iecy;&scy;&lcy;&icy; &vcy; &ecy;&tcy;&ocy;&jcy; &pcy;&ocy;&zcy;&icy;&tscy;&icy;&icy; &ncy;&iecy;&tcy; &rcy;&ocy;&dcy;&icy;&tcy;&iecy;&lcy;&yacy;. &IEcy;&scy;&lcy;&icy; &rcy;&ocy;&dcy;&icy;&tcy;&iecy;&lcy;&softcy;&scy;&kcy;&icy;&khcy; &ecy;&lcy;&iecy;&mcy;&iecy;&ncy;&tcy;&ocy;&vcy; &bcy;&ocy;&lcy;&iecy;&iecy; &dcy;&vcy;&ucy;&khcy;, &ucy; &vcy;&tcy;&ocy;&rcy;&ocy;&gcy;&ocy; &zcy;&ncy;&acy;&chcy;&iecy;&ncy;&icy;&yacy; &vcy;&kcy;&lcy;&yucy;&chcy;&iecy;&ncy; &scy;&acy;&mcy;&ycy;&jcy; &scy;&tcy;&acy;&rcy;&shcy;&icy;&jcy; &bcy;&icy;&tcy;, &acy; &ocy;&scy;&tcy;&acy;&lcy;&softcy;&ncy;&ycy;&iecy; &bcy;&icy;&tcy;&ycy; &scy;&ocy;&khcy;&rcy;&acy;&ncy;&yacy;&yucy;&tcy; &pcy;&ocy;&zcy;&icy;&tscy;&icy;&yucy; &mcy;&acy;&scy;&scy;&icy;&vcy;&acy; &vcy; &fcy;&rcy;&acy;&gcy;&mcy;&iecy;&ncy;&tcy;&iecy; &dcy;&ocy;&pcy;&ocy;&lcy;&ncy;&icy;&tcy;&iecy;&lcy;&softcy;&ncy;&ocy;&gcy;&ocy; &kcy;&rcy;&acy;&iecy;&vcy;&ocy;&gcy;&ocy; &scy;&pcy;&icy;&scy;&kcy;&acy;.</span></p> </li> <li> <p><span data-i18n="02f0bc09b4dce391d69ffab3b688dadf83700599024e8aedda7932d16bec4ddb/9c" data-source="The next 8 bytes store the topological level (generation number v1) of the commit and the commit time in seconds since EPOCH. The generation number uses the higher 30 bits of the first 4 bytes, while the commit time uses the 32 bits of the second 4 bytes, along with the lowest 2 bits of the lowest byte, storing the 33rd and 34th bit of the commit time." onmousemove="i18n(this)">&Scy;&lcy;&iecy;&dcy;&ucy;&yucy;&shchcy;&icy;&iecy; 8 &bcy;&acy;&jcy;&tcy;&ocy;&vcy; &khcy;&rcy;&acy;&ncy;&yacy;&tcy; &tcy;&ocy;&pcy;&ocy;&lcy;&ocy;&gcy;&icy;&chcy;&iecy;&scy;&kcy;&icy;&jcy; &ucy;&rcy;&ocy;&vcy;&iecy;&ncy;&softcy; (&ncy;&ocy;&mcy;&iecy;&rcy; &pcy;&ocy;&kcy;&ocy;&lcy;&iecy;&ncy;&icy;&yacy; v1) &fcy;&icy;&kcy;&scy;&acy;&tscy;&icy;&icy; &icy; &vcy;&rcy;&iecy;&mcy;&yacy; &fcy;&icy;&kcy;&scy;&acy;&tscy;&icy;&icy; &vcy; &scy;&iecy;&kcy;&ucy;&ncy;&dcy;&acy;&khcy; &scy; &mcy;&ocy;&mcy;&iecy;&ncy;&tcy;&acy; EPOCH. &Ncy;&ocy;&mcy;&iecy;&rcy; &pcy;&ocy;&kcy;&ocy;&lcy;&iecy;&ncy;&icy;&yacy; &icy;&scy;&pcy;&ocy;&lcy;&softcy;&zcy;&ucy;&iecy;&tcy; &scy;&tcy;&acy;&rcy;&shcy;&icy;&iecy; 30 &bcy;&icy;&tcy; &pcy;&iecy;&rcy;&vcy;&ycy;&khcy; 4 &bcy;&acy;&jcy;&tcy;&ocy;&vcy;, &acy; &vcy;&rcy;&iecy;&mcy;&yacy; &fcy;&icy;&kcy;&scy;&acy;&tscy;&icy;&icy; &icy;&scy;&pcy;&ocy;&lcy;&softcy;&zcy;&ucy;&iecy;&tcy; 32 &bcy;&icy;&tcy;&acy; &vcy;&tcy;&ocy;&rcy;&ycy;&khcy; 4 &bcy;&acy;&jcy;&tcy;&ocy;&vcy; &vcy;&mcy;&iecy;&scy;&tcy;&iecy; &scy; &mcy;&lcy;&acy;&dcy;&shcy;&icy;&mcy;&icy; 2 &bcy;&icy;&tcy;&acy;&mcy;&icy; &mcy;&lcy;&acy;&dcy;&shcy;&iecy;&gcy;&ocy; &bcy;&acy;&jcy;&tcy;&acy;, &scy;&ocy;&khcy;&rcy;&acy;&ncy;&yacy;&yacy; 33-&jcy; &icy; 34-&jcy; &bcy;&icy;&tcy; &vcy;&rcy;&iecy;&mcy;&iecy;&ncy;&icy; &fcy;&icy;&kcy;&scy;&acy;&tscy;&icy;&icy;.</span></p> </li> </ul> </div> </div> <div> <h4 class="text-body-emphasis"  id="_generation_data_id_g_d_a_2_n_4_bytes_optional"><span data-i18n="a4e3fb7e11ccc6be377ea6fe7bcf3b2011fa38021b1158d81a72d0b0198dad6b/69" data-source="Generation Data (ID: {&lt;em&gt;G&lt;/em&gt;, &lt;em&gt;D&lt;/em&gt;, &lt;em&gt;A&lt;/em&gt;, &lt;em&gt;2&lt;/em&gt; }) (N * 4 bytes) [Optional]" onmousemove="i18n(this)">&Dcy;&acy;&ncy;&ncy;&ycy;&iecy; &gcy;&iecy;&ncy;&iecy;&rcy;&acy;&tscy;&icy;&icy; (&icy;&dcy;&iecy;&ncy;&tcy;&icy;&fcy;&icy;&kcy;&acy;&tcy;&ocy;&rcy;: {G, D, A, 2 }) (N * 4 &bcy;&acy;&jcy;&tcy;&acy;) [&Ncy;&iecy;&ocy;&bcy;&yacy;&zcy;&acy;&tcy;&iecy;&lcy;&softcy;&ncy;&ocy;]</span></h4> <div> <ul> <li> <p><span data-i18n="5db478157776c8ae00559ae48b25e9277a118fecc5e55fa617d9d00c5ee3438b/37" data-source="This list of 4-byte values store corrected commit date offsets for the commits, arranged in the same order as commit data chunk." onmousemove="i18n(this)">&Vcy; &ecy;&tcy;&ocy;&mcy; &scy;&pcy;&icy;&scy;&kcy;&iecy; 4-&bcy;&acy;&jcy;&tcy;&ocy;&vcy;&ycy;&khcy; &zcy;&ncy;&acy;&chcy;&iecy;&ncy;&icy;&jcy; &khcy;&rcy;&acy;&ncy;&yacy;&tcy;&scy;&yacy; &icy;&scy;&pcy;&rcy;&acy;&vcy;&lcy;&iecy;&ncy;&ncy;&ycy;&iecy; &scy;&mcy;&iecy;&shchcy;&iecy;&ncy;&icy;&yacy; &dcy;&acy;&tcy;&ycy; &fcy;&icy;&kcy;&scy;&acy;&tscy;&icy;&icy; &dcy;&lcy;&yacy; &kcy;&ocy;&mcy;&mcy;&icy;&tcy;&ocy;&vcy;, &rcy;&acy;&scy;&pcy;&ocy;&lcy;&ocy;&zhcy;&iecy;&ncy;&ncy;&ycy;&iecy; &vcy; &tcy;&ocy;&mcy; &zhcy;&iecy; &pcy;&ocy;&rcy;&yacy;&dcy;&kcy;&iecy;, &chcy;&tcy;&ocy; &icy; &fcy;&rcy;&acy;&gcy;&mcy;&iecy;&ncy;&tcy; &dcy;&acy;&ncy;&ncy;&ycy;&khcy; &fcy;&icy;&kcy;&scy;&acy;&tscy;&icy;&icy;.</span></p> </li> <li> <p><span data-i18n="829ce4ed2fe19f24d973e9d657dc7974b0966e1be56ab92d5d4522dc5d3f70ae/63" data-source="If the corrected commit date offset cannot be stored within 31 bits, the value has its most-significant bit on and the other bits store the position of corrected commit date into the Generation Data Overflow chunk." onmousemove="i18n(this)">&IEcy;&scy;&lcy;&icy; &icy;&scy;&pcy;&rcy;&acy;&vcy;&lcy;&iecy;&ncy;&ncy;&ocy;&iecy; &scy;&mcy;&iecy;&shchcy;&iecy;&ncy;&icy;&iecy; &dcy;&acy;&tcy;&ycy; &fcy;&icy;&kcy;&scy;&acy;&tscy;&icy;&icy; &ncy;&iecy; &mcy;&ocy;&zhcy;&iecy;&tcy; &bcy;&ycy;&tcy;&softcy; &scy;&ocy;&khcy;&rcy;&acy;&ncy;&iecy;&ncy;&ocy; &vcy; &pcy;&rcy;&iecy;&dcy;&iecy;&lcy;&acy;&khcy; 31 &bcy;&icy;&tcy;&acy;, &ucy; &zcy;&ncy;&acy;&chcy;&iecy;&ncy;&icy;&yacy; &vcy;&kcy;&lcy;&yucy;&chcy;&iecy;&ncy; &scy;&acy;&mcy;&ycy;&jcy; &scy;&tcy;&acy;&rcy;&shcy;&icy;&jcy; &bcy;&icy;&tcy;, &acy; &ocy;&scy;&tcy;&acy;&lcy;&softcy;&ncy;&ycy;&iecy; &bcy;&icy;&tcy;&ycy; &scy;&ocy;&khcy;&rcy;&acy;&ncy;&yacy;&yucy;&tcy; &pcy;&ocy;&zcy;&icy;&tscy;&icy;&yucy; &icy;&scy;&pcy;&rcy;&acy;&vcy;&lcy;&iecy;&ncy;&ncy;&ocy;&jcy; &dcy;&acy;&tcy;&ycy; &fcy;&icy;&kcy;&scy;&acy;&tscy;&icy;&icy; &vcy; &fcy;&rcy;&acy;&gcy;&mcy;&iecy;&ncy;&tcy;&iecy; &pcy;&iecy;&rcy;&iecy;&pcy;&ocy;&lcy;&ncy;&iecy;&ncy;&icy;&yacy; &dcy;&acy;&ncy;&ncy;&ycy;&khcy; &gcy;&iecy;&ncy;&iecy;&rcy;&acy;&tscy;&icy;&icy;.</span></p> </li> <li> <p><span data-i18n="5023fd4476263c57edc5faf53ffecde2c4c2da1dff823942e68f0589eee46d4d/10" data-source="Generation Data chunk is present only when commit-graph file is written by compatible versions of Git and in case of split commit-graph chains, the topmost layer also has Generation Data chunk." onmousemove="i18n(this)">&Bcy;&lcy;&ocy;&kcy; &dcy;&acy;&ncy;&ncy;&ycy;&khcy; &gcy;&iecy;&ncy;&iecy;&rcy;&acy;&tscy;&icy;&icy; &pcy;&rcy;&icy;&scy;&ucy;&tcy;&scy;&tcy;&vcy;&ucy;&iecy;&tcy; &tcy;&ocy;&lcy;&softcy;&kcy;&ocy; &vcy; &tcy;&ocy;&mcy; &scy;&lcy;&ucy;&chcy;&acy;&iecy;, &iecy;&scy;&lcy;&icy; &fcy;&acy;&jcy;&lcy; &gcy;&rcy;&acy;&fcy;&acy; &fcy;&icy;&kcy;&scy;&acy;&tscy;&icy;&icy; &zcy;&acy;&pcy;&icy;&scy;&acy;&ncy; &scy;&ocy;&vcy;&mcy;&iecy;&scy;&tcy;&icy;&mcy;&ycy;&mcy;&icy; &vcy;&iecy;&rcy;&scy;&icy;&yacy;&mcy;&icy;  Git , &acy; &vcy; &scy;&lcy;&ucy;&chcy;&acy;&iecy; &rcy;&acy;&zcy;&dcy;&iecy;&lcy;&iecy;&ncy;&ncy;&ycy;&khcy; &tscy;&iecy;&pcy;&ocy;&chcy;&iecy;&kcy; &gcy;&rcy;&acy;&fcy;&ocy;&vcy; &fcy;&icy;&kcy;&scy;&acy;&tscy;&icy;&icy; &scy;&acy;&mcy;&ycy;&jcy; &vcy;&iecy;&rcy;&khcy;&ncy;&icy;&jcy; &ucy;&rcy;&ocy;&vcy;&iecy;&ncy;&softcy; &tcy;&acy;&kcy;&zhcy;&iecy; &icy;&mcy;&iecy;&iecy;&tcy; &fcy;&rcy;&acy;&gcy;&mcy;&iecy;&ncy;&tcy; &dcy;&acy;&ncy;&ncy;&ycy;&khcy; &gcy;&iecy;&ncy;&iecy;&rcy;&acy;&tscy;&icy;&icy;.</span></p> </li> </ul> </div> </div> <div> <h4 class="text-body-emphasis"  id="_generation_data_overflow_id_g_d_o_2_optional"><span data-i18n="004ad4cebdf4ccef6b640d181e76f94d1d2ac751b8f48a45997f55e365e7df02/22" data-source="Generation Data Overflow (ID: {&lt;em&gt;G&lt;/em&gt;, &lt;em&gt;D&lt;/em&gt;, &lt;em&gt;O&lt;/em&gt;, &lt;em&gt;2&lt;/em&gt; }) [Optional]" onmousemove="i18n(this)">&Pcy;&iecy;&rcy;&iecy;&pcy;&ocy;&lcy;&ncy;&iecy;&ncy;&icy;&iecy; &dcy;&acy;&ncy;&ncy;&ycy;&khcy; &gcy;&iecy;&ncy;&iecy;&rcy;&acy;&tscy;&icy;&icy; (ID: {G, D, O, 2 }) [&Ncy;&iecy;&ocy;&bcy;&yacy;&zcy;&acy;&tcy;&iecy;&lcy;&softcy;&ncy;&ocy;]</span></h4> <div> <ul> <li> <p><span data-i18n="d763097b9ae88b6ae3d05a414206d798f7c9fbdbc997889230a2ddd0ccafa074/12" data-source="This list of 8-byte values stores the corrected commit date offsets for commits with corrected commit date offsets that cannot be stored within 31 bits." onmousemove="i18n(this)">&Vcy; &ecy;&tcy;&ocy;&mcy; &scy;&pcy;&icy;&scy;&kcy;&iecy; 8-&bcy;&acy;&jcy;&tcy;&ocy;&vcy;&ycy;&khcy; &zcy;&ncy;&acy;&chcy;&iecy;&ncy;&icy;&jcy; &khcy;&rcy;&acy;&ncy;&yacy;&tcy;&scy;&yacy; &icy;&scy;&pcy;&rcy;&acy;&vcy;&lcy;&iecy;&ncy;&ncy;&ycy;&iecy; &scy;&mcy;&iecy;&shchcy;&iecy;&ncy;&icy;&yacy; &dcy;&acy;&tcy;&ycy; &fcy;&icy;&kcy;&scy;&acy;&tscy;&icy;&icy; &dcy;&lcy;&yacy; &kcy;&ocy;&mcy;&mcy;&icy;&tcy;&ocy;&vcy; &scy; &icy;&scy;&pcy;&rcy;&acy;&vcy;&lcy;&iecy;&ncy;&ncy;&ycy;&mcy;&icy; &scy;&mcy;&iecy;&shchcy;&iecy;&ncy;&icy;&yacy;&mcy;&icy; &dcy;&acy;&tcy;&ycy; &fcy;&icy;&kcy;&scy;&acy;&tscy;&icy;&icy;, &kcy;&ocy;&tcy;&ocy;&rcy;&ycy;&iecy; &ncy;&iecy; &mcy;&ocy;&gcy;&ucy;&tcy; &bcy;&ycy;&tcy;&softcy; &scy;&ocy;&khcy;&rcy;&acy;&ncy;&iecy;&ncy;&ycy; &vcy; &pcy;&rcy;&iecy;&dcy;&iecy;&lcy;&acy;&khcy; 31 &bcy;&icy;&tcy;&acy;.</span></p> </li> <li> <p><span data-i18n="93788693dc439ca5e8279032575fd8853038383aa43758a42a79aedae8bd40cc/11" data-source="Generation Data Overflow chunk is present only when Generation Data chunk is present and atleast one corrected commit date offset cannot be stored within 31 bits." onmousemove="i18n(this)">&Bcy;&lcy;&ocy;&kcy; &pcy;&iecy;&rcy;&iecy;&pcy;&ocy;&lcy;&ncy;&iecy;&ncy;&icy;&yacy; &dcy;&acy;&ncy;&ncy;&ycy;&khcy; &gcy;&iecy;&ncy;&iecy;&rcy;&acy;&tscy;&icy;&icy; &pcy;&rcy;&icy;&scy;&ucy;&tcy;&scy;&tcy;&vcy;&ucy;&iecy;&tcy; &tcy;&ocy;&lcy;&softcy;&kcy;&ocy; &vcy; &tcy;&ocy;&mcy; &scy;&lcy;&ucy;&chcy;&acy;&iecy;, &iecy;&scy;&lcy;&icy; &pcy;&rcy;&icy;&scy;&ucy;&tcy;&scy;&tcy;&vcy;&ucy;&iecy;&tcy; &bcy;&lcy;&ocy;&kcy; &dcy;&acy;&ncy;&ncy;&ycy;&khcy; &gcy;&iecy;&ncy;&iecy;&rcy;&acy;&tscy;&icy;&icy; &icy; &pcy;&ocy; &kcy;&rcy;&acy;&jcy;&ncy;&iecy;&jcy; &mcy;&iecy;&rcy;&iecy; &ocy;&dcy;&ncy;&ocy; &icy;&scy;&pcy;&rcy;&acy;&vcy;&lcy;&iecy;&ncy;&ncy;&ocy;&iecy; &scy;&mcy;&iecy;&shchcy;&iecy;&ncy;&icy;&iecy; &dcy;&acy;&tcy;&ycy; &fcy;&icy;&kcy;&scy;&acy;&tscy;&icy;&icy; &ncy;&iecy; &mcy;&ocy;&zhcy;&iecy;&tcy; &bcy;&ycy;&tcy;&softcy; &scy;&ocy;&khcy;&rcy;&acy;&ncy;&iecy;&ncy;&ocy; &vcy; &pcy;&rcy;&iecy;&dcy;&iecy;&lcy;&acy;&khcy; 31 &bcy;&icy;&tcy;&acy;.</span></p> </li> </ul> </div> </div> <div> <h4 class="text-body-emphasis"  id="_extra_edge_list_id_e_d_g_e_optional"><span data-i18n="0f2459d9ceb76ed60bd67f8fc8d7f13186f5a54f4c3c0f1a541ca439be90064b/1a" data-source="Extra Edge List (ID: {&lt;em&gt;E&lt;/em&gt;, &lt;em&gt;D&lt;/em&gt;, &lt;em&gt;G&lt;/em&gt;, &lt;em&gt;E&lt;/em&gt;}) [Optional]" onmousemove="i18n(this)">&Dcy;&ocy;&pcy;&ocy;&lcy;&ncy;&icy;&tcy;&iecy;&lcy;&softcy;&ncy;&ycy;&jcy; &scy;&pcy;&icy;&scy;&ocy;&kcy; &rcy;&iecy;&bcy;&iecy;&rcy; (&icy;&dcy;&iecy;&ncy;&tcy;&icy;&fcy;&icy;&kcy;&acy;&tcy;&ocy;&rcy;: {E, D, G, E}) [&Ncy;&iecy;&ocy;&bcy;&yacy;&zcy;&acy;&tcy;&iecy;&lcy;&softcy;&ncy;&ocy;]</span></h4> <div> <div> <pre class="hljs language-sql">This list <span class="hljs-keyword">of</span> <span class="hljs-number">4</span><span class="hljs-operator">-</span>byte <span class="hljs-keyword">values</span> store the <span class="hljs-keyword">second</span> through nth parents <span class="hljs-keyword">for</span>
<span class="hljs-keyword">all</span> octopus merges. The <span class="hljs-keyword">second</span> parent <span class="hljs-keyword">value</span> <span class="hljs-keyword">in</span> the <span class="hljs-keyword">commit</span> data stores
an <span class="hljs-keyword">array</span> position <span class="hljs-keyword">within</span> this list along <span class="hljs-keyword">with</span> the most<span class="hljs-operator">-</span>significant bit
on. Starting <span class="hljs-keyword">at</span> that <span class="hljs-keyword">array</span> position, iterate through this list <span class="hljs-keyword">of</span> <span class="hljs-keyword">commit</span>
positions <span class="hljs-keyword">for</span> the parents until reaching a <span class="hljs-keyword">value</span> <span class="hljs-keyword">with</span> the most<span class="hljs-operator">-</span>significant
bit on. The other bits correspond <span class="hljs-keyword">to</span> the position <span class="hljs-keyword">of</span> the <span class="hljs-keyword">last</span> parent.</pre> </div> </div> </div> <div> <h4 class="text-body-emphasis"  id="_bloom_filter_index_id_b_i_d_x_n_4_bytes_optional"><span data-i18n="7cda83aa723c30031d32179fff383cdc32fe85b08ce5db3201852bc5ba6b4982/19" data-source="Bloom Filter Index (ID: {&lt;em&gt;B&lt;/em&gt;, &lt;em&gt;I&lt;/em&gt;, &lt;em&gt;D&lt;/em&gt;, &lt;em&gt;X&lt;/em&gt;}) (N * 4 bytes) [Optional]" onmousemove="i18n(this)">&Icy;&ncy;&dcy;&iecy;&kcy;&scy; &fcy;&icy;&lcy;&softcy;&tcy;&rcy;&acy; &Bcy;&lcy;&ucy;&mcy;&acy; (&icy;&dcy;&iecy;&ncy;&tcy;&icy;&fcy;&icy;&kcy;&acy;&tcy;&ocy;&rcy;: {B, I, D, X}) (N * 4 &bcy;&acy;&jcy;&tcy;&acy;) [&Ncy;&iecy;&ocy;&bcy;&yacy;&zcy;&acy;&tcy;&iecy;&lcy;&softcy;&ncy;&ocy;]</span></h4> <div> <ul> <li> <p><span data-i18n="7dd601580df4a919ca2c05ed4db9094faa96ad03dc4d74942e701c1632482475/e2" data-source="The ith entry, BIDX[i], stores the number of bytes in all Bloom filters from commit 0 to commit i (inclusive) in lexicographic order. The Bloom filter for the i-th commit spans from BIDX[i-1] to BIDX[i] (plus header length), where BIDX[-1] is 0." onmousemove="i18n(this)">i-&yacy; &zcy;&acy;&pcy;&icy;&scy;&softcy;, BIDX[i], &khcy;&rcy;&acy;&ncy;&icy;&tcy; &kcy;&ocy;&lcy;&icy;&chcy;&iecy;&scy;&tcy;&vcy;&ocy; &bcy;&acy;&jcy;&tcy;&ocy;&vcy; &vcy;&ocy; &vcy;&scy;&iecy;&khcy; &fcy;&icy;&lcy;&softcy;&tcy;&rcy;&acy;&khcy; &Bcy;&lcy;&ucy;&mcy;&acy; &ocy;&tcy; &fcy;&icy;&kcy;&scy;&acy;&tscy;&icy;&icy; 0 &dcy;&ocy; &fcy;&icy;&kcy;&scy;&acy;&tscy;&icy;&icy; i (&vcy;&kcy;&lcy;&yucy;&chcy;&icy;&tcy;&iecy;&lcy;&softcy;&ncy;&ocy;) &vcy; &lcy;&iecy;&kcy;&scy;&icy;&kcy;&ocy;&gcy;&rcy;&acy;&fcy;&icy;&chcy;&iecy;&scy;&kcy;&ocy;&mcy; &pcy;&ocy;&rcy;&yacy;&dcy;&kcy;&iecy;. &Fcy;&icy;&lcy;&softcy;&tcy;&rcy; &Bcy;&lcy;&ucy;&mcy;&acy; &dcy;&lcy;&yacy; i-&gcy;&ocy; &kcy;&ocy;&mcy;&mcy;&icy;&tcy;&acy; &ocy;&khcy;&vcy;&acy;&tcy;&ycy;&vcy;&acy;&iecy;&tcy; &dcy;&icy;&acy;&pcy;&acy;&zcy;&ocy;&ncy; &ocy;&tcy; BIDX[i-1] &dcy;&ocy; BIDX[i] (&pcy;&lcy;&yucy;&scy; &dcy;&lcy;&icy;&ncy;&acy; &zcy;&acy;&gcy;&ocy;&lcy;&ocy;&vcy;&kcy;&acy;), &gcy;&dcy;&iecy; BIDX[-1] &rcy;&acy;&vcy;&iecy;&ncy; 0.</span></p> </li> <li> <p><span data-i18n="22b82fe218a0597e59761addb5ca8b41a14858d42fd2fe01925a12b109292be1/19" data-source="The BIDX chunk is ignored if the BDAT chunk is not present." onmousemove="i18n(this)">&Bcy;&lcy;&ocy;&kcy; BIDX &icy;&gcy;&ncy;&ocy;&rcy;&icy;&rcy;&ucy;&iecy;&tcy;&scy;&yacy;, &iecy;&scy;&lcy;&icy; &bcy;&lcy;&ocy;&kcy; BDAT &ocy;&tcy;&scy;&ucy;&tcy;&scy;&tcy;&vcy;&ucy;&iecy;&tcy;.</span></p> </li> </ul> </div> </div> <div> <h4 class="text-body-emphasis"  id="_bloom_filter_data_id_b_d_a_t_optional"><span data-i18n="2d168dfe4fdaa28c0d255449b7a88a5a4a354fad402e7f058a0af04e151884a3/b1" data-source="Bloom Filter Data (ID: {&lt;em&gt;B&lt;/em&gt;, &lt;em&gt;D&lt;/em&gt;, &lt;em&gt;A&lt;/em&gt;, &lt;em&gt;T&lt;/em&gt;}) [Optional]" onmousemove="i18n(this)">&Dcy;&acy;&ncy;&ncy;&ycy;&iecy; &fcy;&icy;&lcy;&softcy;&tcy;&rcy;&acy; &Bcy;&lcy;&ucy;&mcy;&acy; (&icy;&dcy;&iecy;&ncy;&tcy;&icy;&fcy;&icy;&kcy;&acy;&tcy;&ocy;&rcy;: {B, D, A, T}) [&Ncy;&iecy;&ocy;&bcy;&yacy;&zcy;&acy;&tcy;&iecy;&lcy;&softcy;&ncy;&ocy;]</span></h4> <div> <ul> <li> <p><span data-i18n="dd9a32c7cff66e7a33c083831fcd559bf85a96e4d3f923ca21b5bc2e6d057da2/56" data-source="It starts with header consisting of three unsigned 32-bit integers:" onmousemove="i18n(this)">&Ocy;&ncy; &ncy;&acy;&chcy;&icy;&ncy;&acy;&iecy;&tcy;&scy;&yacy; &scy; &zcy;&acy;&gcy;&ocy;&lcy;&ocy;&vcy;&kcy;&acy;, &scy;&ocy;&scy;&tcy;&ocy;&yacy;&shchcy;&iecy;&gcy;&ocy; &icy;&zcy; &tcy;&rcy;&iecy;&khcy; &bcy;&iecy;&zcy;&zcy;&ncy;&acy;&kcy;&ocy;&vcy;&ycy;&khcy; 32-&bcy;&icy;&tcy;&ncy;&ycy;&khcy; &tscy;&iecy;&lcy;&ycy;&khcy; &chcy;&icy;&scy;&iecy;&lcy;:</span></p> <div> <ul> <li> <p><span data-i18n="9c8db10a2a620e31c648c0b7ae7213df0a11fc2fba6fc4d7e4dde05efd0d3e77/28" data-source="Version of the hash algorithm being used. We currently only support value 1 which corresponds to the 32-bit version of the murmur3 hash implemented exactly as described in &lt;a href=&quot;https://en.wikipedia.org/wiki/MurmurHash#Algorithm&quot;&gt;https://en.wikipedia.org/wiki/MurmurHash#Algorithm&lt;/a&gt; and the double hashing technique using seed values 0x293ae76f and 0x7e646e2 as described in &lt;a href=&quot;https://doi.org/10.1007/978-3-540-30494-4_26&quot;&gt;https://doi.org/10.1007/978-3-540-30494-4_26&lt;/a&gt; &amp;quot;Bloom Filters in Probabilistic Verification&amp;quot;" onmousemove="i18n(this)">&Vcy;&iecy;&rcy;&scy;&icy;&yacy; &icy;&scy;&pcy;&ocy;&lcy;&softcy;&zcy;&ucy;&iecy;&mcy;&ocy;&gcy;&ocy; &acy;&lcy;&gcy;&ocy;&rcy;&icy;&tcy;&mcy;&acy; &khcy;&iecy;&shcy;&icy;&rcy;&ocy;&vcy;&acy;&ncy;&icy;&yacy;. &Vcy; &ncy;&acy;&scy;&tcy;&ocy;&yacy;&shchcy;&iecy;&iecy; &vcy;&rcy;&iecy;&mcy;&yacy; &mcy;&ycy; &pcy;&ocy;&dcy;&dcy;&iecy;&rcy;&zhcy;&icy;&vcy;&acy;&iecy;&mcy; &tcy;&ocy;&lcy;&softcy;&kcy;&ocy; &zcy;&ncy;&acy;&chcy;&iecy;&ncy;&icy;&iecy; 1, &kcy;&ocy;&tcy;&ocy;&rcy;&ocy;&iecy; &scy;&ocy;&ocy;&tcy;&vcy;&iecy;&tcy;&scy;&tcy;&vcy;&ucy;&iecy;&tcy; 32-&bcy;&icy;&tcy;&ncy;&ocy;&jcy; &vcy;&iecy;&rcy;&scy;&icy;&icy; &khcy;&ecy;&shcy;&acy; murmur3, &rcy;&iecy;&acy;&lcy;&icy;&zcy;&ocy;&vcy;&acy;&ncy;&ncy;&ocy;&jcy; &tcy;&ocy;&chcy;&ncy;&ocy; &tcy;&acy;&kcy;, &kcy;&acy;&kcy; &ocy;&pcy;&icy;&scy;&acy;&ncy;&ocy; &vcy;  <a href="https://en.wikipedia.org/wiki/MurmurHash#Algorithm">https://en.wikipedia.org/wiki/MurmurHash#Algorithm</a> , &icy; &mcy;&iecy;&tcy;&ocy;&dcy;&ucy; &dcy;&vcy;&ocy;&jcy;&ncy;&ocy;&gcy;&ocy; &khcy;&iecy;&shcy;&icy;&rcy;&ocy;&vcy;&acy;&ncy;&icy;&yacy; &scy; &icy;&scy;&pcy;&ocy;&lcy;&softcy;&zcy;&ocy;&vcy;&acy;&ncy;&icy;&iecy;&mcy; &ncy;&acy;&chcy;&acy;&lcy;&softcy;&ncy;&ycy;&khcy; &zcy;&ncy;&acy;&chcy;&iecy;&ncy;&icy;&jcy; 0x293ae76f &icy; 0x7e646e2, &kcy;&acy;&kcy; &ocy;&pcy;&icy;&scy;&acy;&ncy;&ocy; &vcy;  <a href="https://doi.org/10.1007/978-3-540-30494-4_26">https://doi.org/10.1007/978-3-540-30494-4_26</a>   &quot;Bloom Filters in Probabilistic Verification&quot; .</span></p> </li> <li> <p><span data-i18n="7c54effe6f9544527b8d96ac45951dd1d86218eb1b2a773426a7320c58914b7f/03" data-source="The number of times a path is hashed and hence the number of bit positions that cumulatively determine whether a file is present in the commit." onmousemove="i18n(this)">&Scy;&kcy;&ocy;&lcy;&softcy;&kcy;&ocy; &rcy;&acy;&zcy; &pcy;&ucy;&tcy;&softcy; &khcy;&iecy;&shcy;&icy;&rcy;&ucy;&iecy;&tcy;&scy;&yacy; &icy;, &scy;&lcy;&iecy;&dcy;&ocy;&vcy;&acy;&tcy;&iecy;&lcy;&softcy;&ncy;&ocy;, &kcy;&ocy;&lcy;&icy;&chcy;&iecy;&scy;&tcy;&vcy;&ocy; &bcy;&icy;&tcy;&ocy;&vcy;&ycy;&khcy; &pcy;&ocy;&zcy;&icy;&tscy;&icy;&jcy;, &kcy;&ocy;&tcy;&ocy;&rcy;&ycy;&iecy; &vcy; &scy;&ocy;&vcy;&ocy;&kcy;&ucy;&pcy;&ncy;&ocy;&scy;&tcy;&icy; &ocy;&pcy;&rcy;&iecy;&dcy;&iecy;&lcy;&yacy;&yucy;&tcy;, &pcy;&rcy;&icy;&scy;&ucy;&tcy;&scy;&tcy;&vcy;&ucy;&iecy;&tcy; &lcy;&icy; &fcy;&acy;&jcy;&lcy; &vcy; &kcy;&ocy;&mcy;&mcy;&icy;&tcy;&iecy;.</span></p> </li> <li> <p><span data-i18n="6c6d3d2594da07b87aa20c6d999031adbbf2e27cae23eeb8811846c5441f5a99/2a" data-source="The minimum number of bits &lt;code&gt;b&lt;/code&gt; per entry in the Bloom filter. If the filter contains &lt;code&gt;n&lt;/code&gt; entries, then the filter size is the minimum number of 64-bit words that contain n*b bits." onmousemove="i18n(this)">&Mcy;&icy;&ncy;&icy;&mcy;&acy;&lcy;&softcy;&ncy;&ocy;&iecy; &kcy;&ocy;&lcy;&icy;&chcy;&iecy;&scy;&tcy;&vcy;&ocy; &bcy;&icy;&tcy;  <code>b</code>  &ncy;&acy; &zcy;&acy;&pcy;&icy;&scy;&softcy; &vcy; &fcy;&icy;&lcy;&softcy;&tcy;&rcy;&iecy; &Bcy;&lcy;&ucy;&mcy;&acy;. &IEcy;&scy;&lcy;&icy; &fcy;&icy;&lcy;&softcy;&tcy;&rcy; &scy;&ocy;&dcy;&iecy;&rcy;&zhcy;&icy;&tcy; &zcy;&acy;&pcy;&icy;&scy;&icy;  <code>n</code> , &tcy;&ocy; &rcy;&acy;&zcy;&mcy;&iecy;&rcy; &fcy;&icy;&lcy;&softcy;&tcy;&rcy;&acy; &mdash; &ecy;&tcy;&ocy; &mcy;&icy;&ncy;&icy;&mcy;&acy;&lcy;&softcy;&ncy;&ocy;&iecy; &kcy;&ocy;&lcy;&icy;&chcy;&iecy;&scy;&tcy;&vcy;&ocy; 64-&bcy;&icy;&tcy;&ncy;&ycy;&khcy; &scy;&lcy;&ocy;&vcy;, &scy;&ocy;&dcy;&iecy;&rcy;&zhcy;&acy;&shchcy;&icy;&khcy; n*b &bcy;&icy;&tcy;.</span></p> </li> </ul> </div> </li> <li> <p><span data-i18n="c9846fe264279ffba6e1a04aa1ee2e90d4cec2e3a913e8caedbc8d0f095168cb/4b" data-source="The rest of the chunk is the concatenation of all the computed Bloom filters for the commits in lexicographic order." onmousemove="i18n(this)">&Ocy;&scy;&tcy;&acy;&lcy;&softcy;&ncy;&acy;&yacy; &chcy;&acy;&scy;&tcy;&softcy; &fcy;&rcy;&acy;&gcy;&mcy;&iecy;&ncy;&tcy;&acy; &pcy;&rcy;&iecy;&dcy;&scy;&tcy;&acy;&vcy;&lcy;&yacy;&iecy;&tcy; &scy;&ocy;&bcy;&ocy;&jcy; &ocy;&bcy;&hardcy;&iecy;&dcy;&icy;&ncy;&iecy;&ncy;&icy;&iecy; &vcy;&scy;&iecy;&khcy; &vcy;&ycy;&chcy;&icy;&scy;&lcy;&iecy;&ncy;&ncy;&ycy;&khcy; &fcy;&icy;&lcy;&softcy;&tcy;&rcy;&ocy;&vcy; &Bcy;&lcy;&ucy;&mcy;&acy; &dcy;&lcy;&yacy; &kcy;&ocy;&mcy;&mcy;&icy;&tcy;&ocy;&vcy; &vcy; &lcy;&iecy;&kcy;&scy;&icy;&kcy;&ocy;&gcy;&rcy;&acy;&fcy;&icy;&chcy;&iecy;&scy;&kcy;&ocy;&mcy; &pcy;&ocy;&rcy;&yacy;&dcy;&kcy;&iecy;.</span></p> </li> <li> <p><span data-i18n="1f4c78cd2ae4be7f8deee53a655ac10604dd9a55e6246ef97540dc2e991dc545/51" data-source="Note: Commits with no changes or more than 512 changes have Bloom filters of length one, with either all bits set to zero or one respectively." onmousemove="i18n(this)">&Pcy;&rcy;&icy;&mcy;&iecy;&chcy;&acy;&ncy;&icy;&iecy;. &Kcy;&ocy;&mcy;&mcy;&icy;&tcy;&ycy; &bcy;&iecy;&zcy; &icy;&zcy;&mcy;&iecy;&ncy;&iecy;&ncy;&icy;&jcy; &icy;&lcy;&icy; &scy; &bcy;&ocy;&lcy;&iecy;&iecy; &chcy;&iecy;&mcy; 512 &icy;&zcy;&mcy;&iecy;&ncy;&iecy;&ncy;&icy;&yacy;&mcy;&icy; &icy;&mcy;&iecy;&yucy;&tcy; &fcy;&icy;&lcy;&softcy;&tcy;&rcy;&ycy; &Bcy;&lcy;&ucy;&mcy;&acy; &dcy;&lcy;&icy;&ncy;&ocy;&jcy; &ocy;&dcy;&icy;&ncy;, &pcy;&rcy;&icy; &ecy;&tcy;&ocy;&mcy; &lcy;&icy;&bcy;&ocy; &vcy;&scy;&iecy; &bcy;&icy;&tcy;&ycy; &ucy;&scy;&tcy;&acy;&ncy;&ocy;&vcy;&lcy;&iecy;&ncy;&ycy; &vcy; &ncy;&ocy;&lcy;&softcy;, &lcy;&icy;&bcy;&ocy; &vcy; &iecy;&dcy;&icy;&ncy;&icy;&tscy;&ucy; &scy;&ocy;&ocy;&tcy;&vcy;&iecy;&tcy;&scy;&tcy;&vcy;&iecy;&ncy;&ncy;&ocy;.</span></p> </li> <li> <p><span data-i18n="ecb32d18686bef6913bc223f581b0fefb0d7fd643275ae49e91d75db96c47558/f7" data-source="The BDAT chunk is present if and only if BIDX is present." onmousemove="i18n(this)">&CHcy;&acy;&ncy;&kcy; BDAT &pcy;&rcy;&icy;&scy;&ucy;&tcy;&scy;&tcy;&vcy;&ucy;&iecy;&tcy; &tcy;&ocy;&gcy;&dcy;&acy; &icy; &tcy;&ocy;&lcy;&softcy;&kcy;&ocy; &tcy;&ocy;&gcy;&dcy;&acy;, &kcy;&ocy;&gcy;&dcy;&acy; &pcy;&rcy;&icy;&scy;&ucy;&tcy;&scy;&tcy;&vcy;&ucy;&iecy;&tcy; BIDX.</span></p> </li> </ul> </div> </div> <div> <h4 class="text-body-emphasis"  id="_base_graphs_list_id_b_a_s_e_optional"><span data-i18n="6e9c5a328bbccd6405a3b316f51604d73f496b349bb82aedc79a91cdb3700fae/16" data-source="Base Graphs List (ID: {&lt;em&gt;B&lt;/em&gt;, &lt;em&gt;A&lt;/em&gt;, &lt;em&gt;S&lt;/em&gt;, &lt;em&gt;E&lt;/em&gt;}) [Optional]" onmousemove="i18n(this)">&Scy;&pcy;&icy;&scy;&ocy;&kcy; &bcy;&acy;&zcy;&ocy;&vcy;&ycy;&khcy; &gcy;&rcy;&acy;&fcy;&icy;&kcy;&ocy;&vcy; (&icy;&dcy;&iecy;&ncy;&tcy;&icy;&fcy;&icy;&kcy;&acy;&tcy;&ocy;&rcy;: {B, A, S, E}) [&Ncy;&iecy;&ocy;&bcy;&yacy;&zcy;&acy;&tcy;&iecy;&lcy;&softcy;&ncy;&ocy;]</span></h4> <div> <div> <pre class="hljs language-vbnet">This list <span class="hljs-keyword">of</span> H-<span class="hljs-type">byte</span> hashes describe a <span class="hljs-keyword">set</span> <span class="hljs-keyword">of</span> B commit-graph files that
form a commit-graph chain. The graph position <span class="hljs-keyword">for</span> the ith commit <span class="hljs-keyword">in</span> this
file<span class="hljs-comment" title="&apos;s OID Lookup chunk is equal to i plus the number of commits in all">&CHcy;&acy;&ncy;&kcy; &pcy;&ocy;&icy;&scy;&kcy;&acy; OID &rcy;&acy;&vcy;&iecy;&ncy; i &pcy;&lcy;&yucy;&scy; &kcy;&ocy;&lcy;&icy;&chcy;&iecy;&scy;&tcy;&vcy;&ocy; &kcy;&ocy;&mcy;&mcy;&icy;&tcy;&ocy;&vcy; &vcy;&ocy; &vcy;&scy;&iecy;&khcy;</span>
base graphs.  <span class="hljs-keyword">If</span> B <span class="hljs-built_in">is</span> non-zero, this chunk must exist.</pre> </div> </div> </div> </div> <div> <h3 class="text-body-emphasis"  id="_trailer"><span data-i18n="9959c8324742f121d1329c5e666ae700d45881362d42630a15a9b75ead62f820/6a" data-source="TRAILER:" onmousemove="i18n(this)">TRAILER:</span></h3> <div> <div> <pre class="hljs language-csharp">H-<span class="hljs-built_in">byte</span> HASH-checksum of all of the above.</pre> </div> </div> </div> </div> <h2 class="text-body-emphasis"  id="_historical_notes"><span data-i18n="40caa9374c51ea671758102b382562bd2dac0b10dde7e2bf9200c80215daeac9/95" data-source="Historical notes:" onmousemove="i18n(this)">Historical notes:</span></h2> <div> <p><span data-i18n="84de5cdb4e5f9258cf2710be56994a0386cf050e093686d225a4453b342e4da5/64" data-source="The Generation Data (GDA2) and Generation Data Overflow (GDO2) chunks have the number &lt;code&gt;2&lt;/code&gt; in their chunk IDs because a previous version of Git wrote possibly erroneous data in these chunks with the IDs &amp;quot;GDAT&amp;quot; and &amp;quot;GDOV&amp;quot;. By changing the IDs, newer versions of Git will silently ignore those older chunks and write the new information without trusting the incorrect data." onmousemove="i18n(this)">&Bcy;&lcy;&ocy;&kcy;&icy; &dcy;&acy;&ncy;&ncy;&ycy;&khcy; &gcy;&iecy;&ncy;&iecy;&rcy;&acy;&tscy;&icy;&icy; (GDA2) &icy; &pcy;&iecy;&rcy;&iecy;&pcy;&ocy;&lcy;&ncy;&iecy;&ncy;&icy;&yacy; &dcy;&acy;&ncy;&ncy;&ycy;&khcy; &gcy;&iecy;&ncy;&iecy;&rcy;&acy;&tscy;&icy;&icy; (GDO2) &icy;&mcy;&iecy;&yucy;&tcy; &ncy;&ocy;&mcy;&iecy;&rcy;  <code>2</code>  &vcy; &scy;&vcy;&ocy;&icy;&khcy; &icy;&dcy;&iecy;&ncy;&tcy;&icy;&fcy;&icy;&kcy;&acy;&tcy;&ocy;&rcy;&acy;&khcy; &bcy;&lcy;&ocy;&kcy;&ocy;&vcy;, &pcy;&ocy;&scy;&kcy;&ocy;&lcy;&softcy;&kcy;&ucy; &pcy;&rcy;&iecy;&dcy;&ycy;&dcy;&ucy;&shchcy;&acy;&yacy; &vcy;&iecy;&rcy;&scy;&icy;&yacy;  Git  &zcy;&acy;&pcy;&icy;&scy;&ycy;&vcy;&acy;&lcy;&acy; &vcy; &ecy;&tcy;&icy; &bcy;&lcy;&ocy;&kcy;&icy; &vcy;&ocy;&zcy;&mcy;&ocy;&zhcy;&ncy;&ocy; &ocy;&shcy;&icy;&bcy;&ocy;&chcy;&ncy;&ycy;&iecy; &dcy;&acy;&ncy;&ncy;&ycy;&iecy; &scy; &icy;&dcy;&iecy;&ncy;&tcy;&icy;&fcy;&icy;&kcy;&acy;&tcy;&ocy;&rcy;&acy;&mcy;&icy;  &quot;GDAT&quot;  &icy;  &quot;GDOV&quot; . &Icy;&zcy;&mcy;&iecy;&ncy;&yacy;&yacy; &icy;&dcy;&iecy;&ncy;&tcy;&icy;&fcy;&icy;&kcy;&acy;&tcy;&ocy;&rcy;&ycy;, &ncy;&ocy;&vcy;&ycy;&iecy; &vcy;&iecy;&rcy;&scy;&icy;&icy;  Git  &bcy;&ucy;&dcy;&ucy;&tcy; &mcy;&ocy;&lcy;&chcy;&acy; &icy;&gcy;&ncy;&ocy;&rcy;&icy;&rcy;&ocy;&vcy;&acy;&tcy;&softcy; &ecy;&tcy;&icy; &scy;&tcy;&acy;&rcy;&ycy;&iecy; &fcy;&rcy;&acy;&gcy;&mcy;&iecy;&ncy;&tcy;&ycy; &icy; &zcy;&acy;&pcy;&icy;&scy;&ycy;&vcy;&acy;&tcy;&softcy; &ncy;&ocy;&vcy;&ucy;&yucy; &icy;&ncy;&fcy;&ocy;&rcy;&mcy;&acy;&tscy;&icy;&yucy;, &ncy;&iecy; &dcy;&ocy;&vcy;&iecy;&rcy;&yacy;&yacy; &ncy;&iecy;&vcy;&iecy;&rcy;&ncy;&ycy;&mcy; &dcy;&acy;&ncy;&ncy;&ycy;&mcy;.</span></p> </div><address>
<p>
    &copy; 2012&ndash;2024 Scott Chacon and others<br/>Licensed under the MIT License.<br/>
<a href="https://git-scm.com/docs/gitformat-commit-graph">https://git-scm.com/docs/gitformat-commit-graph</a>
</p>
</address>                </article>
            </main>

            <br>
            <br>
            <hr>

                            <ins class="adsbygoogle"
     style="display:block"
     data-ad-client="ca-pub-6424571640879890"
     data-ad-slot="3954319254"
     data-ad-format="auto"
     data-full-width-responsive="true"></ins>
<script>
     (adsbygoogle = window.adsbygoogle || []).push({});
</script>            
        </div>

        <!-- -->

        <div class="col-md-3">
            <br>
            <form action="-index-.html">
                <div class="input-group">
                    <input class="form-control" type="search" name="q" placeholder="Search for Git" required>
                    <button class="btn btn-primary" type="submit">
                        <i class="bi bi-search"></i>
                    </button>
                </div>
            </form>
            <br>

                            <div class="list-group list-group-flush">
                                            <a class="list-group-item list-group-item-action text-primary-emphasis px-2 text-truncate" href="gitformat-index.html">
                            gitformat index                        </a>
                                            <a class="list-group-item list-group-item-action text-primary-emphasis px-2 text-truncate" href="gitformat-pack.html">
                            gitformat pack                        </a>
                                            <a class="list-group-item list-group-item-action text-primary-emphasis px-2 text-truncate" href="gitformat-signature.html">
                            gitformat signature                        </a>
                                            <a class="list-group-item list-group-item-action text-primary-emphasis px-2 text-truncate" href="gitglossary.html">
                            gitglossary                        </a>
                                            <a class="list-group-item list-group-item-action text-primary-emphasis px-2 text-truncate" href="githooks.html">
                            githooks                        </a>
                                            <a class="list-group-item list-group-item-action text-primary-emphasis px-2 text-truncate" href="gitignore.html">
                            gitignore                        </a>
                                            <a class="list-group-item list-group-item-action text-primary-emphasis px-2 text-truncate" href="gitk.html">
                            gitk                        </a>
                                    </div>
            
            <br>
            <div class="my-3">
                   <ins class="adsbygoogle"
        style="display:block"
        data-ad-format="autorelaxed"
        data-ad-client="ca-pub-6424571640879890"
        data-ad-slot="7867651344"></ins>
   <script>
        (adsbygoogle = window.adsbygoogle || []).push({});
   </script>            </div>
            <br>

            
            
        </div>
    </div>
</div>    <!--/sse-->

    <footer>
        <br>
        <div class="container">
            <div class="row">
                <div class="col">
                    <hr>
                    <div class="row">
                        <div class="col-md-10">
                            <ul class="nav">
                                <li class="nav-item">
                                    <a class="nav-link ps-0" href="https://runebook.dev/">Help us Improve Translation</a>
                                </li>
                                                            </ul>
                        </div>
                        <div class="col-md-2 text-end">
                            <a href="gitformat-commit-graph.html#" class="fs-5" aria-label="Top">
                                <i class="bi bi-arrow-up-square-fill"></i>
                            </a>
                        </div>
                    </div>
                </div>
            </div>
        </div>
        <br>
    </footer>
    <script src="../../../runebook.js"></script>
</body>

</html>